package de.rwthaachen.wzl.gt.user.trn.calc;

import de.rwthaachen.wzl.gt.tools.calc.CalculatorFunction;
import de.rwthaachen.wzl.gt.tools.calc.gui.CalculatorConstraints;

public class Ggt implements CalculatorFunction {
	
	private Number zahl1;
	private Number zahl2;

	public Number getResult() {
		int integerZahl1 = zahl1.intValue();
		int integerZahl2 = zahl2.intValue();
		
		if(integerZahl1<integerZahl2)
		{
			int temp = integerZahl1;
			integerZahl1 = integerZahl2;
			integerZahl2 = temp;
		}
		
		int rest;
		int ergebnis;

		while(true)
		{
			rest = integerZahl1%integerZahl2;
			if(rest==0)
			{
				ergebnis = integerZahl2;
				break;
			}
			else
			{
				integerZahl1 = integerZahl2;
				integerZahl2 = rest;
			}
		}
		return new Integer(ergebnis);
	}

	public String getSection() {
		return CalculatorConstraints.PANEL_FUCTIONS;
	}

	public String getTextResult() {
		return null;
	}

	public String getTitle() {
		return "G";
	}

	public boolean isUnary() {
		return false;
	}

	public void setOperand(Number op) {
		if(zahl1==null)
			zahl1 = op;
		else
			zahl2 = op;
	}
}